本文共计2534字,预计需要花费 4分钟才能阅读完成。
本项目需要已经部署好 OpenList 服务。并且影视软件支持 Strm。例如:绿联的影视中心,极空间的极影视,Emby,Jellyfin 等。飞牛影视暂不支持。
详细介绍
Strm 是什么?
简单来说Strm就是一个软链接,指向一条通往真正媒体文件等路径,这个路径可以是直链,也可以是本地路径。Strm 文件可用于任何类型的视频,例如电影、剧集、音乐视频、家庭视频等,只需将 .strm 文件放在您想要的位置,就好像它是视频文件一样。
OpenList to Stream 是什么?
OpenList to Stream 是一个为 OpenList 提供 STRM 文件生成服务的工具,支持将网盘资源自动转换为 Emby/Jellyfin 可识别的 .strm 文件,实现远程播放、自动同步、媒体库联动等功能。
✨ 特点
- 🎬 STRM 文件生成: 自动将 OpenList 文件列表转换为 STRM 流媒体文件
- 📋 任务管理: 支持创建、编辑和删除转换任务,Web 界面操作
- ⏰ 定时执行: 基于 Cron 表达式的定时任务调度
- 🔄 增量更新: 支持增量和全量两种更新模式
- 🔍 AI刮削: 支持根据文件名、文件路径等信息,可配置AI进行媒体刮削
- 🔐 用户认证: 基于 JWT 的安全认证系统
- 🐳 容器化部署: 完整的 Docker 支持,一键部署
部署指南
单容器部署
docker run -d \
--name openlist-strm \
-p 3111:80 \
-v ./config:/app/data/config \
-v ./logs:/app/data/log \
-v ./strm:/app/backend/strm \
--restart always \
hienao6/openlist-strm:latest
3111
:冒号前面的端口可以改为未使用的端口。例如:3113:80。
Docker Compose 部署
docker-compose.yml
文件,本教程使用此 Compose:
services:
app:
image: hienao6/openlist-strm:latest
container_name: openlist-strm
ports:
- "3111:80"
volumes:
- ./config:/app/data/config # 配置文件和数据库存储
- ./logs:/app/data/log # 日志文件存储
- ./strm:/app/backend/strm # STRM 文件输出目录
restart: always
3111
:冒号前面的端口可以改为未使用的端口。例如:3113:80。
使用
- 在浏览器输入:
http://<NASIP>:3111/register
进行注册 - 注册成功后会自动跳转到登录页面,如果没跳转手动输入网址:
http://<NASIP>:3111
- 输入刚刚注册的用户名和密码进行登录成功后,点击右上角进行系统设置
- 媒体文件设置
TMDB API 配置
申请步骤可以参考 📖 获取 TMDB API
- 刮削设置
AI 文件名识别设置(可选)
启用 AI 文件名识别可以提高 TMDB 刮削准确性
最后记得点击页面最下面的保存设置
按钮进行保存
- 添加 OpenList
BaseUrl
是你 OpenList 的网址,如http://192.168.123.1:5244token
为 OpenList 的令牌,可以在OpenList 后台的设置
->其他
->令牌
处获得- 添加任务
- 任务名称 随便填,自己能认得出来就行。
- 任务路径 需要执行任务的目录去掉 BaseUrl,例如电影目录 Url 为:
http://192.168.123.1:5244/189media/movie
,这里就应该填/189media/movie
。 - Strm 路径 此路径为该任务Strm 文件生成的路径,前面路径固定不可更改是用来映射到宿主机的路径,如不了解的花去了解下 docker 镜像挂载目录的相关知识。
- 定时任务表达式 留空时,只能手动生成 Strm,写正则表达式时,会按照指定时间自动执行 Strm 文件生成任务。
- 重命名 一般留空就好。
- 需要刮削(生成NFO和封面) 勾选的话,会生成 NFO 和 封面,不需要不勾选。
- 增量更新 勾选的话,每次Strm 生成前,先检查是否已生成过,生成过的话就跳过了,如果不勾选,每次任务执行前,会先清空对应目录的Strm 文件,然后重新生成。
由于自动执行设置的时间还未到,可以先手动点击 立即执行
进行首次生成
- 增量更新: 只处理变化的文件,速度快,适合日常维护
- 全量更新: 重新处理所有文件,确保完整性,适合初始化或修复
- 确认 strm 文件
上面使用的 compose 部署的 strm 路径是 Docker 目录的 strm 文件夹。要根据自己的实际路径进行查找。
现在 strm 已经生成成功。可以用自己熟悉支持 strm 格式的视频软件进行添加使用。
常见问题
Q: 如何设置定时任务?
A: 在任务配置中使用 Cron 表达式,例如:
0 2 * * *
- 每天凌晨2点执行0 */6 * * *
- 每6小时执行一次
Q: 增量更新和全量更新的区别?
A: 增量更新只处理变化的文件,速度快;全量更新重新处理所有文件,确保完整性。
Q: STRM 文件输出到哪里?
A: 输出到容器的 /app/backend/strm
目录,对应宿主机的 ./strm
目录。
Q: STRM 打开失败?
A: 首先检查下 OpenList 的管理员账户(用户名“admin”)是否启用了Webdav。另外需要再“设置--全局”里面,将“签名所有”关闭。
结尾
- 🎬 你的媒体库还在手动搬资源?快试试 STRM 自动生成吧!
- 💬 有任何部署问题或使用心得,欢迎在评论区交流~
- 🛠️ 如果你也在折腾 NAS 和开源工具,点个“在看”我们一起优化!